草庐IT

javascript - 测试rxjs的正确方法

全部标签

ruby-on-rails - ruby on rails 中的 Rspec 测试,无法加载此类文件 webmock/rspec

当我在我的ruby​​onrails应用程序中运行rspec测试时..git@ruby-rails:~/gitlab$sudobundleexecrspecspec/controllers/public_spec.rbNoDRbserverisrunning.Runninginlocalprocessinstead.../usr/local/lib/ruby/gems/1.9.1/bundler/gems/gollum-5dcd3c8c8f68/lib/gollum/markup.rb:222:warning:alreadyinitializedconstantPREFORMATTED

ruby - 我可以使用 RSpec 模拟标准输入/标准输出来测试控制台读写吗?

我的Ruby程序从stdin读取行并使用puts打印到stdout(终端)。我可以使用RSpec来测试读写吗?我可以像在stdin中编写的那样向我的程序注入(inject)一个字符串,同时检查输出吗?line=STDIN.read.chomp.split另外,我在一个循环中进行读取和写入,直到line[0]被“退出”。我可以在循环运行时进行测试,还是应该调用subject.read_in和subject.write_out? 最佳答案 您可以使用模拟并通过在and_return()方法中列出多个值来多次调用该方法。这些将按照给定的顺

ruby-on-rails - Rails 5.1 使用 RSpec 配置内置系统测试

看完RailsConfvideoonActionDispatch::systemTestCase,我很高兴将它整合到我当前的应用程序中。目前我们的测试套件设置使用以下内容:rspecfactory_girlcapybara#功能规范database_cleaner#用于功能规范,主要用于测试jsselenium-webdriver#功能规范capybara-webkit#功能规范很难让配置适用于我们当前的设置,但我们最终成功了,这在很大程度上要归功于AvdiGrimm的一篇文章,标题为:Configuringdatabase_cleanerwithRails,RSpec,Capybar

ruby - 在 Ruby 中初始化常量的正确方法是什么?

我有一个简单的类,它定义了一些常量,例如:moduleFooclassBarBAZ="bof"...在我告诉Rake运行我所有的Test::Unit测试之前,一切都是小狗和彩虹。当它发生时,我会收到警告:bar.rb:3:warning:alreadyinitializedconstantBAZ我的习惯是通过使常量初始化有条件来避免这些警告,例如:...BAZ="bof"unlessconst_defined?:BAZ...这似乎解决了问题,但有点乏味,而且我从未见过其他人以这种方式初始化常量。这让我觉得我可能做错了。有没有更好的方法来初始化不会产生警告的常量?更新:通过更详细地说明我

ruby - 如何拦截 ruby​​ 中的方法调用?

我目前有一个父类(superclass),它有一个函数,我希望所有子类在它的每个函数中调用该函数。该函数的行为应该像rails中的before_filter函数,但我不确定如何去实现before_filter。这是一个例子classSuperclassdefbefore_each_methodputs"BeforeMethod"#thisissupposedtobeinvokedbyeachextendingclass'methodendendclassSubclass 最佳答案 这是一种方法:classSuperclassdefb

ruby-on-rails - 为 memcached 和 Rails 组合片段和对象缓存的最佳方法

假设您有一个显示最新帖子的页面片段,并且您在30分钟后将其过期。我在这里使用Rails。30.minutes)do%>...显然,如果该片段存在,您不需要进行数据库查找来获取最新的帖子,因此您也应该能够避免这种开销。我现在正在做的是Controller中类似这样的东西,它似乎可以工作:unlessRails.cache.exist?"views/recent_posts"@posts=Post.find(:all,:limit=>20,:order=>"updated_atDESC")end这是最好的方法吗?安全吗?我不明白的一件事是为什么片段的键是“recent_posts”,而稍后

ruby - 我可以通过猴子修补 NilClass 来为缺少的方法返回 nil 吗?

在其他语言中(例如objective-c)在nil对象上调用方法会静默失败并返回nil但在ruby​​中你会得到这样的错误...undefinedmethod`some_method'fornil:NilClass这(对我而言)会产生如下代码:ifsome_object&&some_object.cool?#insteadofifsome_object.cool?#dosomecoolstuffend或some_object.do_awsome_thingifsome_object这一切都显得倒退和怪异。两个问题我做错了什么,处理可能出现nil对象的正确方法是什么如果我只是猴子修补ni

ruby-on-rails - rails 如何正确地将模型移动到命名空间

我正在运行Railsv3.2。开发应用程序一段时间后,我需要将一些模型移动到命名空间ex:/app/models/address.rb到/app/models/local/address.rb我尝试简单地将模型移动到目标文件夹并将Local::添加到类名中。然后我相应地更新规范,但我仍然在运行spec.he时遇到错误。未初始化的常量地址(NameError)。问题是——如何将模型移动到命名空间?我的行为是什么-编辑迁移或其他...请帮助,因为我被不同的文章等混淆了。更新我发现了问题所在:设计和命名空间。解决它 最佳答案 我想你可以试

ruby-on-rails - 如何在测试 Action 时将值放入闪存中

我正在尝试测试需要将值存储在闪存中的操作。defmy_actionifflash[:something].nil?redirect_toroot_pathifflash[:something]returnend#Dosomeotherstuffend在我的测试中,我做了类似的事情:before(:each)doflash[:something]="bob"endit"shoulddowhateverIhadcommentedoutabove"doget:my_action#Assertsomethingend我遇到的问题是flash在my_action中没有值。我猜这是因为实际上没有请

ruby - 保存并重新使用 block 以进行方法调用

我调用RestClient::Resource#get(additional_headers={},&block)方法多次使用相同的block但在不同的资源上,我想知道是否有一种方法可以将block保存到变量中,或者将其保存到Proc中,每次都将其转换为block。编辑:我做了以下事情:resource=RestClient::Resource.new('https://foo.com')redirect=lambdado|response,request,result,&block|if[301,302,307].include?response.coderesponse.follo